The present invention is directed generally to testing digital systems in which scan control apparatus produces sequences of test patterns that are shifted ("scanned") into and out of the system, producing result signatures that provide an indication of whether or not the system will function without fault. More specifically, the invention relates to formation of an extended serial shift register, from the elemental memory units used to implement the flip-flops, counters latches, registers, and the like, of the digital system. The extended serial shift register so formed then operates to receive the test patterns during "scan" testing. The invention relates specifically to interconnecting subportions of the extended serial shift register to avoid data loss through clocking delays.
Digital or logic systems have often been tested by applying a variety of test signals to the system, and monitoring the output signals produced in response. Adding to this technique, logic systems have also been designed to incorporate elemental memory units or stages (e.g., flip-flops) that can be selected to function in one of two modes: A first mode in which they operate normally within the system, and a second mode in which the number of elemental memory units are connected in series to form an extended shift register or, as more commonly referred to, a "scan line" for receiving test patterns. Good patterns are then scanned into and out of scan lines, the output test patterns analyzed (usually by comparing them to known or standard patterns). to determine the operability of the stages and interconnections of the tested logic.
Typically, the scannable elemental memory units share a common clock signal. However, problems can arise when a single, long scan line is sought to be configured for scan tests. The common clock signal used to clock the scan line will be communicated through various other and logic elements, arriving at certain portions of the scan line delayed, relative other portions, and creating the possibility of clocking irregularities that can result in possible corruption of the data that will be scanned into the scan line.
One technique around this problem is to form a number of scan lines, each parallel to one another, each being clocked by one or another version of the scan clock. However, using multiple scan lines complicates testing.